public class insertRank {
    public static void sort(Comparable[] a) { //方法适用于任何实现了Comparable接口的数据类型
        int N = a.length;
        for (int i = 1; i < N ; i++) {
            for (int j = i; j > 0&&less(a[j],a[j-1]); j--) {
                exch(a,j,j-1);
            }
        }
    }
    // 定义exch方法
    private static void exch(Comparable[] a, int i, int j) {  //交换数组a中第i和j两个元素
        Comparable c =a[i];
        a[i] =a[j];
        a[j] =c;
    }
    // 定义less方法
    private static boolean less(Comparable c1, Comparable c2) { //判断c1是否小于c2
        return c1.compareTo(c2)<0;
    }
    public static void main(String[] args) {
        Integer[] a ={15, 65, 23, 19, 8, 72, 35, 4, 10};
        sort(a);
        for (int i=0;i<a.length;i++) {
            System.out.print(a[i]+" ");
        }
    }
}

//public class insertRank {
//    public  static  void main(String[] args){
//        int[] a = {15,65,23,19,8,72,35,4,10};
//        for(int i=1;i<a.length;i++){
//            for (int j=i+1;j<=a.length;j++){
//                for (int k=i;k>0;k--){
//                    if(a[j]>a[k]){
//                        int temp=a[k+1];
//                        a[k+1]=a[j];
//
//                    }
//                }
//            }
//        }
//    }
//}
